{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e970f8c9",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# Quick Start\n",
    "\n",
    "\n",
    "This quick start does the following:\n",
    "\n",
    "- `Install` the package\n",
    "- `Simulate` a toy dataset with ground truth plots\n",
    "- `Fit GAM models` including NodeGAM, EBM, XGB-GAM, and Spline\n",
    "- `Visualize` the GAMs' plots"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "accc15b9",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Installation\n",
    "\n",
    "\n",
    "```bash\n",
    "pip install nodegam\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0a489af7",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Simulate a toy dataset\n",
    "\n",
    "To test our package, we simulate a simple binary classification dataset with 3 features sampled from Uniform distributions from -5 to 5 i.e.\n",
    "\n",
    "$x_0, x_1, x_2 \\sim U[-5, 5]$\n",
    "\n",
    "And the target is simulated as:\n",
    "\n",
    "$\\hat{y} = x_0^2 + 2 * x_1 + sin(x_2)$\n",
    "\n",
    "and\n",
    "\n",
    "$y \\sim \\text{Bern}(sigmoid(\\hat{y}))$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d8094e8e",
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "from nodegam.sklearn import NodeGAMRegressor, NodeGAMClassifier\n",
    "from nodegam.gams.MySpline import MySplineLogisticGAM, MySplineGAM\n",
    "from nodegam.gams.MyEBM import MyExplainableBoostingClassifier, MyExplainableBoostingRegressor\n",
    "from nodegam.gams.MyXGB import MyXGBOnehotClassifier, MyXGBOnehotRegressor\n",
    "from nodegam.gams.MyBagging import MyBaggingClassifier, MyBaggingRegressor\n",
    "from nodegam.utils import sigmoid_np, average_GAM_dfs\n",
    "from nodegam.vis_utils import vis_GAM_effects\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "bd7eaf3b",
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((25000, 3), (25000,))"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Generate dataset\n",
    "N = 25000\n",
    "x1 = np.random.uniform(-5, 5, size=N)\n",
    "x2 = np.random.uniform(-5, 5, size=N)\n",
    "x3 = np.random.uniform(-5, 5, size=N)\n",
    "\n",
    "f1 = lambda x: (x) ** 2 - 8\n",
    "f2 = lambda x: x * 2\n",
    "f3 = lambda x: np.sin(x)\n",
    "\n",
    "y_prob = sigmoid_np(f1(x1) + f2(x2) + f3(x3))\n",
    "# Sample\n",
    "y = (np.random.random(N) < y_prob).astype(int)\n",
    "\n",
    "X = pd.DataFrame(np.vstack([x1, x2, x3]).T)\n",
    "X.shape, y.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "45656320-16ce-4df9-a4eb-43ce43b8ce85",
   "metadata": {},
   "source": [
    "Ground Truth GAM graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "84803022-c888-4426-9546-7dd9c2afcc6b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7ff0a4561390>]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1296x324 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-5, 5, 1000)\n",
    "fig, ax = plt.subplots(1, 3, figsize=(18, 4.5))\n",
    "ax[0].plot(x, f1(x))\n",
    "ax[1].plot(x, f2(x))\n",
    "ax[2].plot(x, f3(x))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b488dc4c-9d3c-4b79-9158-dc33aca3f6bd",
   "metadata": {
    "jupyter": {
     "outputs_hidden": false
    },
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "source": [
    "## Fit GAM Models\n",
    "\n",
    "We test 4 packages: NodeGAM, Spline, EBM, and XGB."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8397b52a-acbe-4209-b7c9-7f3bef20da14",
   "metadata": {},
   "source": [
    "We train NodeGAM 3 times with different seeds to get stdev on the shape graphs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a0cd76e4-a07e-4b58-a36f-60ea2c1cacc2",
   "metadata": {},
   "outputs": [],
   "source": [
    "n_seeds = 3\n",
    "\n",
    "# NodeGAM fitting\n",
    "nodegams = []\n",
    "for seed in range(n_seeds):\n",
    "    model = NodeGAMClassifier(\n",
    "        in_features=3,\n",
    "        objective='ce_loss',\n",
    "        verbose=False, # Set to True to see the training progress\n",
    "        seed=seed,\n",
    "    )\n",
    "    train_record = model.fit(X, y)\n",
    "    nodegams.append(model)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95a2f82d-f441-4941-a6de-ffbb22e3a657",
   "metadata": {},
   "source": [
    "Other GAM baselines"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a0e3df4d-1123-4e14-9fd7-75d8625e0a5d",
   "metadata": {},
   "outputs": [],
   "source": [
    "ebm = MyExplainableBoostingClassifier()\n",
    "ebm.fit(X, y)\n",
    "\n",
    "spline = MySplineLogisticGAM(verbose=False)\n",
    "bagged_spline = MyBaggingClassifier(base_estimator=spline, n_estimators=3) # Bagging 3 times to get stdev on the shape graphs\n",
    "bagged_spline.fit(X, y)\n",
    "\n",
    "xgb_gam = MyXGBOnehotClassifier()\n",
    "bagged_xgb = MyBaggingClassifier(base_estimator=xgb_gam, n_estimators=3)\n",
    "bagged_xgb.fit(X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "573b8e36-df52-4f76-908a-c2aaec102cfc",
   "metadata": {},
   "source": [
    "## Visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c777ce7-0c89-4705-a19e-d37cf96b7708",
   "metadata": {},
   "source": [
    "We visualize the GAM main effects."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8af3fc2b-cadd-421f-b167-75a50267dbdf",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 6/6 [00:00<00:00, 122.51it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "bin features 0 with uniq val 24996 to only 256\n",
      "bin features 1 with uniq val 24993 to only 256\n",
      "bin features 2 with uniq val 24994 to only 256\n",
      "Finish \"Run values through model\" in 99ms\n",
      "Finish \"Extract values\" in 53ms\n",
      "Run \"Purify interactions to main effects\".........\r"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "100%|██████████| 7/7 [00:00<00:00, 46.38it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finish \"Purify interactions to main effects\" in 60ms\n",
      "Finish \"Center main effects\" in 1ms\n",
      "Finish \"Construct table\" in 157ms\n",
      "bin features 0 with uniq val 24996 to only 256\n",
      "bin features 1 with uniq val 24993 to only 256\n",
      "bin features 2 with uniq val 24994 to only 256\n",
      "Run \"Run values through model\".........\r"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "100%|██████████| 6/6 [00:00<00:00, 123.71it/s]\n",
      "  0%|          | 0/7 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finish \"Run values through model\" in 93ms\n",
      "Finish \"Extract values\" in 52ms\n",
      "Finish \"Purify interactions to main effects\" in 66ms\n",
      "Finish \"Center main effects\" in 1ms\n",
      "Run \"Construct table\".........\r"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 7/7 [00:00<00:00, 25.17it/s]\n",
      "100%|██████████| 6/6 [00:00<00:00, 123.33it/s]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finish \"Construct table\" in 283ms\n",
      "bin features 0 with uniq val 24996 to only 256\n",
      "bin features 1 with uniq val 24993 to only 256\n",
      "bin features 2 with uniq val 24994 to only 256\n",
      "Finish \"Run values through model\" in 93ms\n",
      "Finish \"Extract values\" in 53ms\n",
      "Run \"Purify interactions to main effects\".........\r"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 7/7 [00:00<00:00, 41.94it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finish \"Purify interactions to main effects\" in 67ms\n",
      "Finish \"Center main effects\" in 1ms\n",
      "Finish \"Construct table\" in 172ms\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1584x216 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = vis_GAM_effects({\n",
    "    'nodegam': average_GAM_dfs([m.get_GAM_df(X) for m in nodegams]),\n",
    "    'ebm': ebm.get_GAM_df(),\n",
    "    'xgb-gam': bagged_xgb.get_GAM_df(),\n",
    "    'spline': bagged_spline.get_GAM_df(),\n",
    "}, top_interactions=0)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "cu101",
   "language": "python",
   "name": "cu101"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}